/**
 * Agent.java
 * created on 2012/05/24
 */
package dh.abs;

/**
 * This inteface represents one agent in the simulation.
 * @author denialhumanity
 *
 */
public interface Agent {
    /**
     * This method prepares one step action such as initializing state,
     * obtaining environment information, and selecting next action
     * according to specified algorithm.
     */
    public void preStep();
    
    /**
     * This method does one step action.
     */
    public void nextStep();
    
    /**
     * This method does post-process of each step.
     */
    public void postStep();
}
